//calls to decoder...
x = "4012CD,401337,4017F7,402333,402434,4025EA,40265A,4027D4,4028BD,402B4B,402B9E,4034CD,40352C,4035FF,403913,403942,40398B,40399D,403D16,403E10,403E42,403E74,403ED8,403F97,404042,404165,40418B,4041AA,404203,404210,404249,404282,4042C7,404550,40455D,404597,404740,4047C2,4047CF,4047DC,4048C2,4048D0,4048DE,4048EC,40498C,404A25,404A32,404A8D,404C6A,404D16,404D23,404D30,404D3D,404D4A,404DE7,404EBF,404ECC,404F3B,404F4B,404F58,405008,405015,405093,405176,405184,405192,4051A0,4051AE,405277,405310,40531D,405378,405433,40548A,4054C8,405502,40553C,405576,405604,4056C0,4057DF,4057EF,405814,405821,40582E,40583B,40594A,405AFF,405B0C,405B19,405B26,405B33,405C40,405D4A,405F2E,405FBA,406086,406093,4060A0,4060AD,4060BA,4061CE,406739,406807,40683B,406870,4068A2,406937,4069DB,4069EB,4069F8,406A05,40ACFC,40B00B,40B1B4,40C21E,40C92F,40C96D,40C9AB,40C9B6,40C9C1,40CAC3,40CE96,40D026,40D076,40D081,40D08C,40D097,40D16C,40D385,40DDB4,40DE05,40E0E8,40E193,40E1E3,40E1F0,40E212,40E252,40E296,40E71C,40F8D7,40F98A,40F9BA,40F9C8,40FA92,40FFA8,41018E,411066,41182D,4118A7,4118B4,411A65,411A77,411E4A,411E5A,411E85,411E90,411E9D,411EAA,411FDC,411FEC,412014,412055,4122C2,4122F8,4142CA,414337,4143B4,41450B,414518,414725,41FEDA,41FF08,42048F,4204F8,4209EB,4209F9".split(',');

ret = '';
fails='';
i=0
for(i=0;i<x.length;i++){
    va = parseInt('0x'+x[i]);
    ida.message(i+':'+x[i]);
    r = findOffset(va);
    if(r.length > 0){
        ret += h(va) + "," + r + "\r\n";
    }else{
        fails += h(va) + ',';
    }
}
t('fails:\r\n'+fails + '\r\n\r\nsuccess: \r\n' + ret);

function findOffset(va){
  for(j=0; j<10; j++){
    va = ida.prevea(va);
    disasm = ida.getasm(va)
    if(disasm.indexOf('mov     eax') != -1) return disasm;
    if(disasm.indexOf('push') != -1){
        return disasm;
    }
  }
  return '';
}

